package com.neu.yth.nepBackend.aqiFeedback.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.neu.yth.nepBackend.entity.AqiFeedback;
import com.neu.yth.nepBackend.entity.Grid;
import com.neu.yth.nepBackend.utils.Result;

import java.util.List;

/**
 * <p>
 * 空气质量公众监督反馈表 服务类
 * </p>
 *
 * @author YTH
 * @since 2024-05-31
 */
public interface IAqiFeedbackService extends IService<AqiFeedback> {

    /**
     * 插入空气质量公众监督反馈表
     *
     * @param aqiFeedback
     * @param token
     * @return
     */
    Result insertAqiAf(AqiFeedback aqiFeedback, String token);

    /**
     * 更新空气质量公众监督反馈表
     *
     * @param aqiFeedback
     * @param token
     * @return
     */
    Result updateAqiAf(AqiFeedback aqiFeedback, String token);

    /**
     * 根据id查询空气质量公众监督反馈表
     *
     * @param id
     * @return
     */
    Result selectById(Integer id);

    /**
     * 查询所有空气质量公众监督反馈表
     *
     * @return
     */
    Result selectAll();

    /**
     * 查询未分配的空气质量公众监督反馈表
     *
     * @return
     */
    Result selectUnAssigned();

    /**
     * 分配空气质量公众监督反馈表
     *
     * @param aqiFeedback
     * @param token
     * @return
     */
    Result assign(AqiFeedback aqiFeedback, String token);

    /**
     * 分配(test)
     *
     * @param afId
     * @param gmId
     * @param token
     * @return
     */
    Result assignMember(Integer afId, Integer gmId, String token);

    /**
     * 查询我的未分配的空气质量公众监督反馈表
     *
     * @param gmId
     * @param state
     * @return
     */
    Result selectMyUnAssigned(Integer gmId, Integer state);


    /**
     * 查询未分配的空气质量公众监督反馈表数量
     *
     * @return
     */
    Result selectCount();

    /**
     * 查各个省份数据
     *
     * @param provinces
     * @return
     */
    Result selectCountProvince(List<String> provinces);
}
